/**
 * 创建默认博客分类脚本
 */

const { Category } = require('./src/models');
const { sequelize } = require('./src/config/database');

const defaultCategories = [
  {
    name: '技术教程',
    description: '各类编程和技术相关的教程和指南'
  },
  {
    name: '前端开发',
    description: 'HTML、CSS、JavaScript和各种前端框架相关内容'
  },
  {
    name: '后端开发',
    description: '服务器端编程、API设计、数据库等后端相关主题'
  },
  {
    name: '设计思考',
    description: 'UI/UX设计理念、设计趋势和创意灵感'
  },
  {
    name: '个人随笔',
    description: '个人感悟、日常思考和非技术类文章'
  },
  {
    name: '项目实战',
    description: '真实项目的开发过程、经验分享和最佳实践'
  }
];

async function createCategories() {
  try {
    // 测试数据库连接
    await sequelize.authenticate();
    console.log('数据库连接成功');
    
    // 创建分类
    for (const category of defaultCategories) {
      // 检查分类是否已存在
      const existing = await Category.findOne({
        where: { name: category.name }
      });
      
      if (!existing) {
        await Category.create(category);
        console.log(`分类 "${category.name}" 创建成功`);
      } else {
        console.log(`分类 "${category.name}" 已存在，跳过创建`);
      }
    }
    
    console.log('所有默认分类创建完成');
    process.exit(0);
  } catch (error) {
    console.error('创建分类失败:', error);
    process.exit(1);
  }
}

createCategories(); 